package es.tikitaka.dao;

import java.util.List;

import es.tikitaka.domain.Temporada;
import es.tikitaka.domain.equipo.EstEquipo;

public interface EstEquipoService {

	/**
	 * Método para obtener la lista de los equipos más goleadores
	 * 
	 * @param temporada
	 * @return
	 */
	List<EstEquipo> getListEqPichichi(Temporada temporada);

	/**
	 * Método para obtener la lista de los equipos menos goleados
	 * 
	 * @param temporada
	 * @return
	 */
	List<EstEquipo> getListEqZamora(Temporada temporada);

	/**
	 * Método para obtener la lita de los equipos con más faltas cometidas
	 * 
	 * @param temporada
	 * @return
	 */
	List<EstEquipo> getListEqMasFaltasC(Temporada temporada);

	/**
	 * Método para obtener la lista de los equipos con más faltas recibidas
	 * 
	 * @param temporada
	 * @return
	 */
	List<EstEquipo> getListEqMasFaltasR(Temporada temporada);

	/**
	 * Método para obtener la lista de los equipos con más tarjetas
	 * 
	 * @param temporada
	 * @param tarjeta
	 * @return
	 */
	List<EstEquipo> getListEqMasAmonestado(Temporada temporada, String tarjeta);

	/**
	 * Método para obtener la lista de los equipos con más penaltys cometidos
	 * 
	 * @param temporada
	 * @return
	 */
	List<EstEquipo> getListEqMasPenaltysC(Temporada temporada);

	/**
	 * Método para obtener la lita de los equipos con más penaltys lanzados
	 * 
	 * @param temporada
	 * @return
	 */
	List<EstEquipo> getListEqMasPenaltysL(Temporada temporada);

	/**
	 * Método para eliminar del sistema unas estadisticas de equipo dada
	 * 
	 * @param id
	 *            Id de las estadisticas de equipo a eliminar
	 * @return estado del proceso (true or false)
	 */
	boolean delete(Integer id);

	/**
	 * Método para almacenar en el sistema estadísticas de un equipo
	 * 
	 * @param estadisticas
	 *            Estadísticas a almacenar
	 * @return estado del proceso (true or false)
	 */
	boolean save(EstEquipo estadisticas);
}
